2023-12-08

Introduction

  • Air Pollution is responsible for an estimated 6.7 million annual premature deaths globally (WHO, 2022).

  • Cruise ship emissions are a visible source of urban pollition in coastal cities, with increasing attention to mitigation strategies like the use of on-shore power while in port

  • Research Gap: Lack of empirical analysis in the context of New York City, emphasizing the need for a data-driven approach.

Study Area: Brooklyn Cruise Terminal

  • Only terminal on the east coast with shore power system designed to reduce emissions

  • Installed in 2016 at the cost of $21M

  • Red Hook neighborhood has worst air quality in Brooklyn (NYC.gov, 2023)

  • Policy Context: New York City considering local law Int. 1050, requiring cruise ships to use on-shore power by 2028 at all ports (including Manattan Cruise Terminal)

Research Questions

  • What level of expected improvement in air quality can be expected as a result of improvements to New York City cruise ship terminals and proposed new regulations that will require all cruise ships to use on-shore power by 2028?

    • What feature set among available inputs will best predict air quality in the absence of consideration of cruise ship inputs?

    • Does the inclusion of cruise ship features measurably improve these results?

Literature Review

  • Selection of PM 2.5 as a critical parameter due to its known health impacts and reliable measurement methods

  • Methodological research included use of circular data (wind direction) and PM 2.5 readings from Purple Air

  • Studies from Europe (Hrvoje, 2011; Ruiz-Guerra et al, 2019; Fabregat et al, 2021) and Canada (Poplawski et al, 2011) support cruise ship emissions as measurably impacting on-shore air quality, typically using linear regression

  • No studies found to document this relationship in New York City, or using non-parametric methods to identify feature set

Data Sources

  • Weather and airquality data at the Port is taken from a Dyson Instruments weather station located adjacent to the Brooklyn Cruise Terminal

  • Observations are taken in 15 minute increments, starting July 11, 2023

  • Ship docking data is taken from Port of New York, hourly, and the EDC for information on whether ships can access the on-shore power or must use the generator (all ships outside of BCT use generators)

  • Additional data taken from Purple Air sensor at Dyberry farm as a control for wildfire smoke

    • Also explored alternative method of using wood-smake adjusted AQI as a target

Data Preparation

  • Weather data features evaluated include temperature, dew point, heat bulb index, humidity, wind speed, wind direction, air pressure reported at average, low, and high as well as rain in inches

  • Highly correlated weather features pruned to include only average value

  • Wind direction converted to radians and then defined by the sine and cosine of theta to avoid correlation

  • Cruise ship compatibility is taken from the EDC and extrapolated to ship dockings in July

  • PM 2.5 levels from Purple Air corrected based on EPA

  • Weather data aggregated hourly (average value, except for rain which is summed) to join with cruise ship data and control sensor data from Purple Air

  • Final data set has 17 features, 5 possible targets, and 3,396 observations across 141 days (some days contain more than 24 observations because there may be more than one ship present)

Time Series

Data Exploration

LASSO Regression

Ridge Regression

Elastic Net

## NULL

Visualizing Impactful Features

## `geom_smooth()` using formula = 'y ~ x'
## Warning: Removed 4 rows containing non-finite values (`stat_smooth()`).
## Warning: Removed 4 rows containing missing values (`geom_point()`).

## `geom_smooth()` using formula = 'y ~ x'
## Warning: Removed 4 rows containing non-finite values (`stat_smooth()`).
## Removed 4 rows containing missing values (`geom_point()`).

## `geom_smooth()` using formula = 'y ~ x'
## Warning: Removed 13 rows containing non-finite values (`stat_smooth()`).
## Warning: Removed 13 rows containing missing values (`geom_point()`).